En el vídeo a continuación os voy a enseñar a cómo programar el flujo de
comunicaciones con nuestro entorno industrial, en este caso con un PLC.
Este será el flujo que vamos a implementar y aunque también lo vais
a poder importar una vez descargado, os voy a explicar un poco de los
bloques de los cuales está compuesto. Primero de todo tendremos un bloque
inject que estará determinado por un dato time stamp que vendría a ser una
marca de tiempo a partir de la cual se ejecuta el bloque. Esto vendría a
ser como un pulso de señal. A continuación tendremos un bloque
function en el cual vamos a adaptar los datos que recibimos del time
stamp para que el siguiente bloque, el bloque Modbus, pueda recibir los
datos de la manera oportuna para poder ser tratados. En este caso si
accedemos al bloque de Modbus podemos ir en la ventana de ayuda y nos sale
información de cómo poder configurar sus parámetros. En este caso vemos
los parámetros que tiene que recibir como input, en este caso un function
code que en este caso ponemos el número 3 que es para leer los
registros. Además también tendrá otros inputs como el Unity D que lo
dejaremos predeterminado con el valor 1. La dirección por la cual va a
empezar, en el caso que nos ocupa será posición 0, que será la inicial,
hasta la posición 3 ya que queremos leer 4 parámetros. Y por último la
cantidad de datos que va a leer. Así pues, aquí por ejemplo tenemos un
ejemplo de cómo hacer para leer varios datos y sería tal cual
podríamos copiar esto que aparece en rojo, ¿vale?
Es exactamente lo que tenemos dentro del bloque function.
A continuación, tendremos el bloque Modbus para poder comunicarnos con el
PLC. En este caso tendremos que acceder dentro del bloque Modbus,
editarlo y especificar el tipo de protocolo que vamos a usar, en este
caso va a ser Modbus TCP IP. Tendremos que edicar la IP del PLC
que también viene definida y es inamovible, que es esta de aquí en
este caso, y el puerto con el cual se está comunicando el protocolo TCP con
el PLC, que en este caso sería el 20 .000. Una vez configurados los
parámetros, podríamos verificar, tanto con el bloque debug3, podríamos
verificar que los datos que recibimos del bloque function son los
correctos. Y de igual manera, con el bloque debug4, podemos verificar que
los datos que recibimos del Modbus ya son los parámetros que queremos medir
de nuestro sistema de vibración, que en este caso los parámetros son el
RMS, el Skewness, Kurtosis y Min. Ya, para finalizar, tendremos un cuarto
bloque, en este caso será otro bloque de function. En este caso podemos ver
que el Modbus TCP ha codificado los datos como enteros sin signo, para
poderlos transmitir en binario. En este caso se proporciona este código
de aquí, que sirve para transformar los datos recibidos a valores
decimales originales. A partir de aquí ya podríamos coger los
parámetros y ponerlos dentro del mensaje payload para poder
transmitirlo al siguiente bloque. Y para terminar, podéis ver que se
genera un conjunto de instrucciones que sirven para poder diferenciar
cuando leemos datos nuevos, porque el período de refresco de datos del PLC
es de 5 segundos y el período de lectura de los registros de datos del
PLC es de 1 segundo. Es por ese motivo que puede ser que recibamos
datos iguales una vez consultada. Como esto no aporta valor añadido,
los datos que sean iguales se desprecerán, solo se van a procesar
los nuevos datos y con esto se va a calcular un quinto parámetro, que
será el cuadrado del RMS, como podéis ver aquí, Square RMS.
Una vez terminado con el bloque Function, también pondremos un bloque
de book para poder ver que la salida de este bloque sea lo que esperamos
recibir. Ya por terminar, tendremos un bloque InfluxDB que permite
conectar el flow de noder red con la base de datos de InfluxDB. En este
caso también tendremos que acceder dentro, nos iremos a editar y
tendremos que poner el nombre que nosotros queramos para identificar el
bloque. Tendremos el host, que será la IP del contenedor del InfluxDB, la
IP del contenedor de InfluxDB la podéis ver con el siguiente comando
estando conectados a vuestra máquina virtual.
Como podéis ver, os sale como salida información referente al contenedor
de la base de datos y en la última línea podéis ver la IP con la cual se
está comunicando vuestro contenedor. Esta IP la tendréis que poner aquí, y
tendréis que poner el puerto de comunicación en el cual está usando
Influx. Esto también lo podéis ver con el siguiente comando.
Aquí podéis ver que InfluxDB se está comunicando con el 8086, que es el
puerto predeterminado que tiene Influx. Hecho esto, tendríamos
terminado nuestro flujo de comunicaciones con nuestro entorno
industrial.